Lectura y escritura de datos a gran escala, definidos por:
Varias técnicas que ayudan a buscar patrones en los datos.
Casi siempre se pueden automatizar.
Comienza con la extracción de una base de datos.
Veremos las funciones más básicas.
[que no triviales]
En general:
¿Datos en Hoja de cálculo?
¿Datos en Hoja de cálculo?
Seleccionar columnas: (“select”)
SQL:
SELECTScala/Spark (permite SQL)
.selectR (dplyr)
selectPython/Pandas
.loc Seleccionar filas: (“filter”)
SQL:
FILTERScala/Spark (permite SQL)
.filterR (dplyr)
filterPython/Pandas
.query Ordenar columnas: (“sort”)
SQL:
ORDER BYScala/Spark (permite SQL)
.orderByR (dplyr)
arrangePython/Pandas
.sort_values Formato ‘wide’ a ‘long’: (“unpivot”)
SQL:
UNPIVOTScala/Spark (permite SQL)
.groupBy().agg()R
reshape::melttidyr::gatherPython/Pandas
.melt Formato ‘long’ a ‘wide’: (“pivot”)
SQL:
PIVOTScala/Spark (permite SQL)
pivot_tableR
reshape::casttidyr::spreadPython/Pandas
.pivotDos tipos de datos:
Se procesan por separado
Se pueden analizar por separado, o conjuntamente.
Examina todas ellas.
Datos numéricos?
| Variable | Media | Mediana | Desv. Standard | IQR |
|---|---|---|---|---|
| Edad (años) | 68 | 71 | 11.4 | [62 - 76] |
| Temperatura (°C) | 36.8 | 36 | 1.5 | [35.5 - 38] |
Variable normal (media = 1, SD = 1)
Variable normal (media = 4, SD = 1)
Variable normal (media = 4, SD = 0.5)
Variable normal (media = 1, SD = 2)
Variable No paramétrica real
Variable Simulada
Datos discretos?
Tablas
| Factor | Valor | Frecuencia | Porcentaje % |
|---|---|---|---|
| Factor A | 0 | 312 | 78.4 |
| 1 | 86 | 21.6 |
Datos discretos?
Tablas cruzadas
| Tabla 2x2 | Mujer | Hombre |
|---|---|---|
| Hyundai | 206 | 180 |
| Ford | 106 | 152 |
| Volkswagen | 41 | 36 |
| Volvo | 8 | 12 |
Map-Reduce & Split-apply-combine
Map
Aplicar (apply) una función a cada elemento de un vector (p.ej cada fila de una columna)
Puede ser sobre todo el vector o sobre partes del mismo.
Reduce
Map
SQL:
for eachScala/Spark (permite SQL)
.mapR
map, applyPython/Pandas
forReduce
SQL:
GROUP BY –> COUNTScala/Spark (permite SQL)
.reduce –> .countByValueR (dplyr)
summarise –> countPython/Pandas
.cumcountSplit-apply-combine
SQL:
GROUP BY –> COUNTScala/Spark (permite SQL)
.groupBy –> .aggR (dplyr)
group_by –> countPython/Pandas
.groupbyNuméricos | Histogramas
Numéricos | Densidad
Factores | Barras
Factores | Barras
Factores | Barras
Factores | Barras
Factores | Barras
Factores | Barras
Factores * Factores
Tablas cruzadas
Mc Nemar: obs. dependientes (“before & after”)
Factores (2 categorías) * Numéricas
Factores (>>2 categorías) * Numéricas
Numéricas * Numéricas
Regresión logística
y = c + ax + bx + ...
prob_infarto = c +
2.20 * edad +
1.8 * diabetes + ...